package com.cskaoyan.javase.oop3._2inner._2static._2classload;

/**
 * 思考:
 * 创建静态内部类对象,会触发外围类的类加载吗?
 * 外围类和静态内部类之间是相对独立的,互不影响的,类加载也不会互相触发
 *
 * 总结一下，成员内部类和静态内部类的用途：
 * 首要用途是隐藏类，当你在某个位置需要一个对象来完成需求，而你又不希望外界知道这个类时
 *      可以用成员内部类和静态内部类
 *
 * 如果你希望内部类对象可以直接访问外围类成员,优先选择成员内部类
 * 如果没有这个需求,优先用静态内部类,因为它限制比较少,更灵活
 *
 * @since 17:38
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {

    public static void main(String[] args) {
        EnclosedClazz.NestedClazz nc = new EnclosedClazz.NestedClazz();
    }


}

class EnclosedClazz {
    static {
        System.out.println("外围类,类加载了!");
    }

    static class NestedClazz {
        static {
            System.out.println("静态内部类,类加载了!");
        }
    }
}